<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务，帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件，不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types = 1);

namespace app\store\model\jia;

use app\common\model\jia\Floor as FloorModel;
use think\facade\Db;

class Floor extends FloorModel {

	public static function increased($id, array $data) {

		Db::name('jia_manage_floor')->where('log_id', $id)->delete();

		$dataset = [];
		foreach ($data['floor_ids'] as $value) {
			$dataset[] = [
				'floor' => $value['value'],
				'shop_id' => $data['shop_id'],
				'build_id' => $data['build_id'],
				'manage_id' => $data['manage_id'],
				'log_id' => $id,
				'store_id' => self::$storeId,
			];
		}
		return (new static )->addAll($dataset);
	}

	public function getList(array $param = []): \think\Paginator {
		// 查询参数
		$params = $this->setQueryDefaultValue($param, [
			'title' => '', // 文章标题
			'manageId' => 0, // 文章分类id
			'status' => -1, // 文章状态
		]);
		// 检索查询条件
		$filter = [];
		// 文章标题
		!empty($params['title']) && $filter[] = ['title', 'like', "%{$params['title']}%"];

		$params['manageId'] > 0 && $filter[] = ['manage_id', '=', $params['manageId']];
		// 文章状态
		$params['status'] > -1 && $filter[] = ['status', '=', $params['status']];
		// 查询列表数据
		$data = $this
			->where($filter)
			->where('is_delete', '=', 0)
			->order(['sort' => 'asc', 'create_time' => 'desc'])
			->paginate(15);
		// 获取文章的图片和分类
		return $data;
	}

	/**
	 * 编辑记录
	 * @param array $data
	 * @return bool
	 */
	public function edit(array $data): bool {
		// 保存记录
		return $this->save($data);
	}

	/**
	 * 删除商品分类
	 * @param int $categoryId
	 * @return bool
	 */
	public function remove($buildId) {
		// 判断是否存在文章
		// $articleCount = ArticleModel::getArticleTotal(['category_id' => $categoryId]);
		// if ($articleCount > 0) {
		//     $this->error = '该分类下存在' . $articleCount . '个文章，不允许删除';
		//     return false;
		// }
		// 删除记录
		return $this->where('build_id', $buildId)->update(['is_delete' => 1]);
	}
}
